package com.zsy.petshop_01.service;

import com.zsy.petshop_01.common.result.ResponseResult;
import com.zsy.petshop_01.model.vo.Pet.PetUpdateVo;
import com.zsy.petshop_01.model.vo.Pet.PetVo;
import com.zsy.petshop_01.model.vo.Pet.SubscribeCheckVo;
import com.zsy.petshop_01.model.vo.Pet.UpvoteVo;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface PetService {
    ResponseResult<?> selectAllPet();

    ResponseResult<?> deletePet(Integer id);

    ResponseResult<?> insetPet(PetVo petVo);

    ResponseResult<?> updatePet(PetUpdateVo petUpdateVo);

    ResponseResult<?> selectPet(Integer age, String size, String type, Map<String, Integer> priceSection);

    ResponseResult<?> upvote(UpvoteVo upvoteVo);

    ResponseResult<?> selectPetType();

    ResponseResult<?> insertPetType(Integer petNum, String petType);

    ResponseResult<?> updatePetType(Integer id, String petType);

    ResponseResult<?> deletePetType(Integer id);

    ResponseResult<?> selectPetCheck();

    ResponseResult<?> subscribeCheck(SubscribeCheckVo subscribeCheckVo, HttpServletRequest request);

    ResponseResult<?> cancelSubscribeCheck(Integer id);

    ResponseResult<?> selectAllCheck();

    ResponseResult<?> selectCheckByUser(HttpServletRequest request);

    ResponseResult<?> updateCheckMaxNum(Integer id, Integer maxNum);

    void initiativeUpdateTable();
}
